输出并生成路由列表(V5.1.24+

假设你的路由定义文件内容为:

  1. Route::get('think', function () {
  2. return 'hello,ThinkPHP5!';
  3. });
  4. Route::resource('blog', 'Blog');
  5. Route::get('hello/:name', 'index/hello')->ext('html');

可以使用下面的指令查看定义的路由列表

  1. php think route:list

输出结果类似于下面的显示:

  1. +----------------+-------------+--------+-------------+--------+
  2. | Rule | Route | Method | Name | Domain |
  3. +----------------+-------------+--------+-------------+--------+
  4. | think | <Closure> | get | | |
  5. | hello/<name> | index/hello | get | index/hello | |
  6. | blog | Blog/index | get | Blog/index | |
  7. | blog | Blog/save | post | Blog/save | |
  8. | blog/create | Blog/create | get | Blog/create | |
  9. | blog/<id>/edit | Blog/edit | get | Blog/edit | |
  10. | blog/<id> | Blog/read | get | Blog/read | |
  11. | blog/<id> | Blog/update | put | Blog/update | |
  12. | blog/<id> | Blog/delete | delete | Blog/delete | |
  13. +----------------+-------------+--------+-------------+--------+

并且同时会在runtime目录下面生成一个route_list.php的文件,内容和上面的输出结果一致,方便你随时查看。

如果你的路由定义发生改变的话, 则需要重新调用该指令,会自动更新上面生成的缓存文件。

输出样式

支持定义不同的样式输出,例如:

  1. php think route:list box

输出结果变为:

  1. ┌────────────────┬─────────────┬────────┬─────────────┬────────┐
  2. Rule Route Method Name Domain
  3. ├────────────────┼─────────────┼────────┼─────────────┼────────┤
  4. think <Closure> get
  5. hello/<name> index/hello get index/hello
  6. blog Blog/index get Blog/index
  7. blog Blog/save post Blog/save
  8. blog/create Blog/create get Blog/create
  9. blog/<id>/edit │ Blog/edit get Blog/edit
  10. blog/<id> Blog/read get Blog/read
  11. blog/<id> Blog/update put Blog/update
  12. blog/<id> Blog/delete delete Blog/delete
  13. └────────────────┴─────────────┴────────┴─────────────┴────────┘
  14. php think route:list box-double

输出结果变为:

  1. ╔════════════════╤═════════════╤════════╤═════════════╤════════╗
  2. Rule Route Method Name Domain
  3. ╠────────────────╪─────────────╪────────╪─────────────╪────────╣
  4. think <Closure> get
  5. hello/<name> index/hello get index/hello
  6. blog Blog/index get Blog/index
  7. blog Blog/save post Blog/save
  8. blog/create Blog/create get Blog/create
  9. blog/<id>/edit │ Blog/edit get Blog/edit
  10. blog/<id> Blog/read get Blog/read
  11. blog/<id> Blog/update put Blog/update
  12. blog/<id> Blog/delete delete Blog/delete
  13. ╚════════════════╧═════════════╧════════╧═════════════╧════════╝
  14. php think route:list markdown

输出结果变为:

  1. | Rule | Route | Method | Name | Domain |
  2. |----------------|-------------|--------|-------------|--------|
  3. | think | <Closure> | get | | |
  4. | hello/<name> | index/hello | get | index/hello | |
  5. | blog | Blog/index | get | Blog/index | |
  6. | blog | Blog/save | post | Blog/save | |
  7. | blog/create | Blog/create | get | Blog/create | |
  8. | blog/<id>/edit | Blog/edit | get | Blog/edit | |
  9. | blog/<id> | Blog/read | get | Blog/read | |
  10. | blog/<id> | Blog/update | put | Blog/update | |
  11. | blog/<id> | Blog/delete | delete | Blog/delete | |

排序支持

如果你希望生成的路由列表按照路由规则排序,可以使用

  1. php think route:list -s rule

输出结果变成:

  1. +----------------+-------------+--------+-------------+--------+
  2. | Rule | Route | Method | Name | Domain |
  3. +----------------+-------------+--------+-------------+--------+
  4. | blog | Blog/index | get | Blog/index | |
  5. | blog | Blog/save | post | Blog/save | |
  6. | blog/<id> | Blog/read | get | Blog/read | |
  7. | blog/<id> | Blog/update | put | Blog/update | |
  8. | blog/<id> | Blog/delete | delete | Blog/delete | |
  9. | blog/<id>/edit | Blog/edit | get | Blog/edit | |
  10. | blog/create | Blog/create | get | Blog/create | |
  11. | hello/<name> | index/hello | get | index/hello | |
  12. | think | <Closure> | get | | |
  13. +----------------+-------------+--------+-------------+--------+

同样的,你还可以按照请求类型排序

  1. php think route:list -s method

输出结果变为:

  1. +----------------+-------------+--------+-------------+--------+
  2. | Rule | Route | Method | Name | Domain |
  3. +----------------+-------------+--------+-------------+--------+
  4. | blog/<id> | Blog/delete | delete | Blog/delete | |
  5. | think | <Closure> | get | | |
  6. | hello/<name> | index/hello | get | index/hello | |
  7. | blog | Blog/index | get | Blog/index | |
  8. | blog/create | Blog/create | get | Blog/create | |
  9. | blog/<id>/edit | Blog/edit | get | Blog/edit | |
  10. | blog/<id> | Blog/read | get | Blog/read | |
  11. | blog | Blog/save | post | Blog/save | |
  12. | blog/<id> | Blog/update | put | Blog/update | |
  13. +----------------+-------------+--------+-------------+--------+

支持排序的字段名包括:ruleroutenamemethoddomain(全部小写)。

输出详细信息

如果你希望看到更多的路由参数和变量规则,可以使用

  1. php think route:list -m

输出结果变为:

  1. +----------------+-------------+--------+-------------+--------+-------------------------+---------+
  2. | Rule | Route | Method | Name | Domain | Option | Pattern |
  3. +----------------+-------------+--------+-------------+--------+-------------------------+---------+
  4. | think | <Closure> | get | | | [] | [] |
  5. | hello/<name> | index/hello | get | index/hello | | {"ext":"html"} | [] |
  6. | blog | Blog/index | get | Blog/index | | {"complete_match":true} | [] |
  7. | blog | Blog/save | post | Blog/save | | {"complete_match":true} | [] |
  8. | blog/create | Blog/create | get | Blog/create | | [] | [] |
  9. | blog/<id>/edit | Blog/edit | get | Blog/edit | | [] | [] |
  10. | blog/<id> | Blog/read | get | Blog/read | | [] | [] |
  11. | blog/<id> | Blog/update | put | Blog/update | | [] | [] |
  12. | blog/<id> | Blog/delete | delete | Blog/delete | | [] | [] |
  13. +----------------+-------------+--------+-------------+--------+-------------------------+---------+